#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <qdebug.h>
#include "md5check.h"
#include <qmessagebox.h>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    //定义文件对话框类
       QFileDialog *fileDialog = new QFileDialog(this);
       //定义文件对话框标题
       fileDialog->setWindowTitle(tr("选择文件"));
       //设置默认文件路径
       fileDialog->setDirectory(".");
       //设置文件过滤器
       //fileDialog->setNameFilter(tr("Images(*.png *.jpg *.jpeg *.bmp)"));
       //设置可以选择多个文件,默认为只能选择一个文件QFileDialog::ExistingFiles
       fileDialog->setFileMode(QFileDialog::ExistingFiles);
       //设置视图模式
       fileDialog->setViewMode(QFileDialog::Detail);
       //打印所有选择的文件的路径
       QStringList fileNames;
       if(fileDialog->exec())
       {
           fileNames = fileDialog->selectedFiles();
       }
        qDebug()<<fileNames;
        ui->lineEdit->setText(fileNames[0]);
}

void MainWindow::on_pushButton_2_clicked()
{
    //检查ＭＤ５文件
    MD5Check md5Checker;
    QString fileName=ui->lineEdit->text();
    if(-1==md5Checker.isMd5CheckOk(fileName,fileName+".md5"))
    {
        qDebug()<<"ＭＤ５文件 error！";
        QMessageBox::information(NULL, "检查结果", "ＭＤ５文件 error！", QMessageBox::Yes );
    }
    else
    {
        qDebug()<<"ＭＤ５文件 correct！";
        QMessageBox::information(NULL, "检查结果", "ＭＤ５文件 正确！", QMessageBox::Yes );
    }

}

void MainWindow::on_pushButton_3_clicked()
{
    //生成ＭＤ５文件
    MD5Check md5Checker;
    QString fileName=ui->lineEdit->text();
    md5Checker.createMd5File(fileName);
    string stringOut;
    md5Checker.createMd5String(fileName, stringOut);
    ui->lineEdit_2->setText(QString::fromStdString(stringOut));
    QMessageBox::information(NULL, "确认", "生成ＭＤ５文件完成！", QMessageBox::Yes );
}
